package com.leorui.schoollife.controller

interface IUserControl {
    /**
     * 账号登录验证
     * @param account 账号
     * @param password 密码
     */
    fun login(account: String, password: String): Map<Any?, Any?>

    /**
     * 创建新用户
     * @param account 新用户账号
     * @param password  新用户密码
     */
    fun createNewUser(account: String, password: String): Map<Any?, Any?>

    /**
     * 注销当前用户
     * @param account 当前用户账号
     * @param password 当前用户密码
     */
    fun deleteCurrentUser(account: String, password: String): Map<Any?, Any?>

    /**
     * 检查当前用户是否存在
     * @param account 检查的用户名
     */
    fun checkCurrentUserIsSave(account: String): Map<Any?, Any?>

    /**
     * 获取当前用户的权限
     * @param account 需要获取用户权限的账号
     */
    fun getCurrentUserPower(account: String): Map<Any?, Any?>

    /**
     * 检查当前用户的密码是否正确
     * @param account 当前用户账号
     * @param password 当前用户密码
     */
    fun checkCurrentUserPassword(account: String, password: String): Map<Any?, Any?>

    /**
     * 更改当前用户密码
     * @param account 当前用户账号
     * @param newPassword 当前用户密码
     */
    fun changeCurrentUserPassword(account: String, newPassword: String): Map<Any?, Any?>

    /**
     * 获取头像列表
     */
    fun getIconsList(): Map<Any?, Any?>

    /**
     * 获取用户学校主页
     */
    fun getUserSchoolHomePage(account: String): Map<Any?, Any?>

    /**
     * 获取学校列表
     */
    fun getSchoolList(): Map<Any?, Any?>

    /**
     * 更改学校信息
     */
    fun changeSchool(account: String, schoolId: Int): Map<Any?, Any?>

    /**
     * 拉取用户所有备忘录
     */
    fun pullUserMemorandumList(account: String, pageSize: Int?, currentPage: Int?): Map<Any?, Any?>

    /**
     * 更新用户备忘录
     */
    fun updateUserMemorandum(account: String, note_id: String, title: String, msg: String, last_edit_time: String): Map<Any?, Any?>

    /**
     * 删除用户备忘录
     */
    fun deleteUserMemorandum(account: String, note_id: String): Map<Any?, Any?>

    /**
     * 添加用户备忘录
     */
    fun addUserMemorandum(account: String, note_id: String, title: String, msg: String, record_start_time: String, last_edit_time: String): Map<Any?, Any?>

    /**
     * 拉取用户单条备忘录
     */
    fun pullUserMemorandum(account: String, note_id: String): Map<Any?, Any?>

    /**
     * 删除用户多条备忘录
     */
    fun deleteUserMemorandumList(account: String, note_id_list: List<String?>): Map<Any?, Any?>

    /**
     * 拉取用户学校公告
     */
    fun pullUserSchoolAnnouncement(account: String): Map<Any?, Any?>

    fun pullUserSchoolAnnouncementDetail(account: String, base64Url: String): Map<Any?, Any?>
}